﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ControlPresupuesto
{
    public partial class FrmCompromisos : Form
    {
        public FrmCompromisos()
        {
            InitializeComponent();
            // TODO: esta línea de código carga datos en la tabla 'controlPresupuestoDataSet.INFOR_CuentasContables' Puede moverla o quitarla según sea necesario.
            this.iNFOR_CuentasContablesTableAdapter.Fill(this.iNFORDataSet.INFOR_CuentasContables);
            // TODO: esta línea de código carga datos en la tabla 'controlPresupuestoDataSet.INFOR_CentroCosto' Puede moverla o quitarla según sea necesario.
            //this.iNFOR_CentroCostoTableAdapter.Fill(this.iNFORDataSet.INFOR_CentroCosto);
            this.esReversionCheckBox_CheckedChanged(null,null);
        }

        private void FrmCompromisos_Load(object sender, EventArgs e)
        {
            try
            {
                // TODO: esta línea de código carga datos en la tabla 'controlPresupuestoDataSet.spCentroCosto' Puede moverla o quitarla según sea necesario.
                this.spCentroCostoTableAdapter.Fill(this.controlPresupuestoDataSet.spCentroCosto);
                // TODO: esta línea de código carga datos en la tabla 'controlPresupuestoDataSet.spRubro' Puede moverla o quitarla según sea necesario.
                this.spRubroTableAdapter.Fill(this.controlPresupuestoDataSet.spRubro);
                // TODO: esta línea de código carga datos en la tabla 'controlPresupuestoDataSet.spCompromiso' Puede moverla o quitarla según sea necesario.
                this.spCompromisoTableAdapter.Fill(this.controlPresupuestoDataSet.spCompromiso);

                /*
                this.spCompromisoTableAdapter.FillBy(
                    this.controlPresupuestoDataSet.spCompromiso,
                    "SeleccionarCompromisos",
                    (this.mostrarReversionesCheckBox.Checked ? "SI" : "NO"),
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null,
                    null
                    );
                */
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            ////-- Blanquear Campos
            //Utils.get().blanquearCampos(this);
        }

        #region Eventos asociados a los botones del BindingNavigator

        private void exportar_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            try { Utils.get().exportar(this.spCompromisoDataGridView,true); }
            catch (Exception ex) { MessageException.show(ex); }
            Cursor.Current = Cursors.Default;
        }

        private void actualizar_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            ManageForms.reloadForm(this);
            Cursor.Current = Cursors.Default;
        }

        private void filter_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            BindingSource bs = ((BindingNavigator)((ToolStripButton)sender).GetCurrentParent()).BindingSource;
            try
            {
                bs.RemoveFilter();
                this.toolStripTextBox1.Text = string.Empty;
            }
            catch (Exception ex)
            {
                MessageException.show(ex);
                bs.CancelEdit();
            }
            Cursor.Current = Cursors.Default;
        }

        private void filterText_TextChanged(object sender, EventArgs e)
        {

            Cursor.Current = Cursors.WaitCursor;
            BindingSource bs = ((BindingNavigator)((ToolStripTextBox)sender).GetCurrentParent()).BindingSource;
            DataTable table = ((DataSet)bs.DataSource).Tables[bs.DataMember];
            ToolStripTextBox tb = (ToolStripTextBox)sender;
            try
            {
                String filtro = "";
                foreach (DataColumn cl in table.Columns)
                {
                    filtro += "ISNULL(" + cl.ColumnName.ToString() + ",'')+' '+";
                }
                filtro = filtro.Substring(0, filtro.Length - 5);
                filtro += " like'%" + tb.Text + "%'";
                //MessageBox.Show(filtro);
                bs.Filter = filtro;
            }
            catch (Exception ex)
            {
                MessageException.show(ex);
                bs.CancelEdit();
            }
            Cursor.Current = Cursors.Default;
        }

        #endregion

        private void esReversionCheckBox_CheckedChanged(object sender, EventArgs e)
        {
            this.reversionLabel.Text = (this.esReversionCheckBox.Checked ? "REVERSION CONTABLE" : "");
        }

        private void codCompromiso_REVERSIONTextBox_TextChanged(object sender, EventArgs e)
        {
            this.reversionLabel.Text = (!this.codCompromiso_REVERSIONTextBox.Text.Equals(string.Empty) ? "COMPROMISO REVERTIDO" : (this.esReversionCheckBox.Checked ? "REVERSION CONTABLE" : ""));
        }
    }
}
